Systems and Methods for Recognizing and Measuring Hard-to-Reach Destinations

ABSTRACT

A navigation system includes primary and secondary navigation device, and a server. The secondary navigation device transmits geolocation data to the server. The primary navigation device receives user input indicating a destination. The primary navigation device also determines a current route to the destination based on a current location of the primary navigation device, and transmits the current route to the server. The primary navigation device also receives and displays a difficulty index from the server in response to transmitting the current route. The server determines historical routes reflecting historical commutes based on the geolocation data. The server also determines the difficulty index based on the one or more historical routes and the current route, and transmits the difficulty index to the primary navigation device in response to receiving the current route.

FIELD OF THE INVENTION

The disclosed invention relates to systems and methods for quantifying adifficulty to reach metric for hard-to-reach destinations.

BACKGROUND OF THE INVENTION

The driving experience has been enhanced of late by the use ofnavigation systems that display driving directions and related maps.These navigation systems thus conveniently assist drivers in travelingto destinations.

This driving experience is, however, often marred by unforeseen delaysin travel time. A driver travelling to a given destination mayexperience frustration at the lack of parking in the vicinity of thedestination, or at traffic congestion en route to the destination, oreven at the driver's own inability to exactly locate the destinationonce arriving in the vicinity. Such destinations that requiresignificantly more travel time for the driver to actually reach aresometimes called “hard-to-reach” destinations.

Due to urbanization and the increased number of vehicles on roads,hard-to-reach destinations are increasingly becoming a nuisance fordrivers—significantly reducing the driving experience. This phenomenonis not unique to drivers, however, as passengers in publictransportation and pedestrians may also experience frustration whenattempting to reach hard-to-reach destinations during their owncommutes. A pedestrian, for example, may experience frustration at notbeing able to specifically locate an address due to a lack ofappropriate signage, despite his navigation system indicating that hehas successfully commuted to the immediate vicinity of the address.

SUMMARY OF THE INVENTION

The present invention provides for a navigation system that is uniquelysuited to assist in a user commute to a destination.

The navigation system utilizes historical route information from aplurality of navigation devices to determine the extent that thedestination is a hard-to-reach destination, and communicates thatdetermination to the commuter in connection with current routeinformation via the commuter's navigation device. The commuter isthereby better prepared for encountering the hard-to-reach destination,and can plan appropriately.

In particular, one or more secondary navigation devices are configuredto transmit geolocation data as a function of time to a server. Thegeolocation data may be stored by the server on a server database, andis used by the server to generate historical route information for eachsecondary navigation device. A primary navigation device is configuredto receive user input indicating a destination, and to determine acurrent route corresponding to a current commute based on thedestination and a current location of the primary navigation device. Theprimary navigation unit is also configured to transit the current routeto the server. The server is configured to, in response to receiving thecurrent route, determine a difficulty index for the current commute,based on the current route for the primary navigation device and thestored historical routes of the one or more secondary navigationdevices, and to transmit the difficulty index to the primary navigationdevice. The primary navigation device is configured to, thereafter,display the difficulty index to the user in connection with the currentroute.

Other features and advantages of the present invention will becomeapparent from the following more detailed description, taken inconjunction with the accompanying drawings, which illustrate, by way ofexample, the principles of the presently described apparatus and methodof its use.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWING(S)

FIG. 1 schematically illustrates the navigation system according to atleast one embodiment of the present invention.

FIG. 2 is a representative flowchart illustrating the process fordetermining the difficulty index according to at least one embodiment ofthe present invention.

FIG. 3 is a representative map illustrating aspects of exemplary routesaccording to at least one embodiment of the present invention.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

The above described drawing figures illustrate the described inventionand method of use in at least one of its preferred, best modeembodiment, which is further defined in detail in the followingdescription. Those having ordinary skill in the art may be able to makealterations and modifications to what is described herein withoutdeparting from its spirit and scope. While this invention is susceptibleof embodiment in many different forms, there is shown in the drawingsand will herein be described in detail a preferred embodiment of theinvention with the understanding that the present disclosure is to beconsidered as an exemplification of the principles of the invention andis not intended to limit the broad aspect of the invention to theembodiment illustrated. Therefore, it should be understood that what isillustrated is set forth only for the purposes of example and should notbe taken as a limitation on the scope of the present apparatus and itsmethod of use.

FIG. 1 schematically illustrates a navigation system 1000 according toat least one embodiment.

The navigation system 1000 generally comprises a primary navigationdevice 100 a communicatively coupled to one or more secondary navigationdevices 100 b via server 200. The navigation devices 100 a, 100 b may bededicated navigation devices, cellular or smart telephones, vehicletelemetric navigation devices, laptops, portable handheld devices, orany other type of portable electronic device capable of supporting thenavigation device functionalities described herein.

The navigation system 1000 is configured to determine and communicate adifficulty index, which indicates a degree of difficulty in commutingfrom a current location A of the primary navigation device 100 a to adestination B, based on historical routes n of the secondary navigationdevices and a current route m of the primary navigation device 100 a.

The difficulty index reflects the degree of difficulty for reaching thedestination due to adverse local conditions. These adverse localconditions may be localized with respect to the destination and/or thecurrent route. For example, the adverse local conditions may include oneor more of: absence of parking, lack of destination identifying signage,traffic, road construction, and/or any condition that would cause adetour or delay.

Navigation Devices

The primary navigation device 100 a generally comprises a control unit110 a operatively coupled to each of: a wireless device transceiver 120a configured to transmit and receive data via a wireless network 300, amemory 130 a configured to retrievably store data, a geolocation unit140 a configured to periodically generate geolocation data indicatingthe location of the navigation device as a function of time, and a userinterface 150 a configured to interface with a user to communicate databetween the user and the primary navigation device 100 a. The controlunit 110 a is configured control each of the transceiver 120 a, thememory, the geolocation unit 140 a, and the user interface in accordancewith their respective functions, as described herein.

Each of the control unit 110 a, the transceiver 120 a, the memory, thegeolocation unit 140 a, and the user interface may be appropriatelyconfigured hardware, software and/or firmware. The user interfacepreferably includes one or more of: a visual display, an audio speaker,a microphone, a graphical user interface, and a tactile user interface.

As shown in FIG. 1, each secondary navigation device 100 b comprisessimilar components to the primary navigation device 100 a, whichcomponents will not be further discussed with the understanding thattheir operations are likewise similar. Furthermore, the one or moresecondary navigation devices 100 b (and their respective components)may, at times, herein be described in the singular for readability. Itwill be understood, however, that the described invention expresslycontemplates several such secondary navigation devices 100 b.

Server

The server 200 generally comprises a processor 210 operatively coupledto each of: a server transceiver 220 configured to transmit and receivedata via the wireless network, and a database 230 configured toretrievably store data. The processor 210 is configured control each ofthe server transceiver 220, and the database 230 in accordance withtheir respective functions, as described herein.

Operations

With respect to the operation of the primary navigation device 100 a,the user interface receives user input from the user identifying thedestination. The user input is communicated to the geolocation unit 140a, which generates geolocation data according to the destination. Thegeolocation unit 140 a also generates geolocation data according to thecurrent location of the primary navigation device 100 a. The geolocationunit 140 a still further generates the current route, via techniquesknown to those skilled in the art, based on stored map data, the currentlocation and the destination.

The transceiver 120 a transmits the current route (which includes thecurrent position and the destination) to the server, and receives thedifficulty index from the server 200 in response. The difficulty indexmay then be communicated to the user interface, which in turncommunicates the difficulty index to the user in association with thecurrent route and/or the destination.

The control unit 110 a may check the difficulty index against difficultyranges stored in the memory 130 a and provide a corresponding proxy tothe user interface in lieu of the difficulty index. For example, adifficulty index of around 1.0 may correspond to the proxy: normal orgood, while a difficulty index significantly above 1.0 may correspond tothe proxy: poor. A difficulty index less than 1.0 may also correspond tothe proxy: normal or good, and may indicate the destination is easier toreach than expected. The difficulty ranges may be preset, or may varydynamically in accordance with an operative area 302, described furtherherein.

With respect to the operation of the secondary navigation devices 100 b,the geolocation units 140 b periodically generate geolocation dataindicating the location of the secondary navigation device 100 b as afunction of time. The geolocation data is communicated to the devicetransceiver 120 b, which transmits the geolocation data to the server200.

With respect to the operation of the server, the server transceiver 220receives the geolocation data from the secondary navigation devices 100b. The geolocation data is communicated to the database 230 where it isstored. Storage of the geolocation data may include indexing thegeolocation data according to the secondary navigation device 100 b itrelates to.

The processor 210 determines the historical routes of the secondarynavigation devices 100 b based on their respective geolocation datastored in the database. These determined historical routes arecommunicated to the database 230 and retrievably stored therein.

In at least one embodiment, the processor 210 determines the historicalroutes by identifying geolocation data that is bounded by idle periods(i.e., periods exceeding a predefined duration where the change in thelocation of the device is below a minimum threshold). These idle periodsindicate that the device is not involved in a commute. The geolocationdata bounded by these idle periods reflects a historical route. Thebeginning of an idle period reflects the end of a route; the end of anidle period reflects the beginning of a route.

The server transceiver 220 also receives the current route (whichincludes the current position and the destination) from the primarynavigation device 100 a. In response to the server 200 receiving thecurrent route, the processor 210 determines the difficulty index basedon the current route of the primary navigation device 100 a and one ormore historical routes of the secondary navigation devices 100 b. Thedifficulty index is then transmitted via the server transceiver 220 tothe primary navigation device 100 a.

FIG. 2 illustrates an exemplary process 2000 for determining thedifficulty index according to at least one embodiment.

At Step 2010, the server 200 defines the operative area 302. Theoperative area 302 is an area for which adverse localized conditions arelikely to affect the degree of difficulty for reaching the destination.

The operative area 302 may be defined with respect to the destination,as for example, the area within a predetermined distance of thedestination, shown for example in FIG. 3. The operative area 302 mayalso, or alternatively, be defined with respect to the current route, asfor example, the area within a predetermined distance from the currentroute.

Returning to FIG. 2, at Step 2020, the server 200 determines one or morerelevant routes of the one or more secondary navigation devices 100 b.The relevant routes may be represented symbolically as:

A _(n) →B,

where A_(n) represents the start point of the historical route n, and Brepresents the destination. In other words, the relevant routes arerespective historical routes of the secondary navigation devices 100 bthat end at the destination and initially overlap the operative area 302at respective start points.

In some embodiments, the destination comprises destination radius 304whereby, if the historical route ends within the destination radius, thehistorical route is considered to end at the destination. This is shown,for example, in FIG. 3, which also illustrates several exemplaryrelevant routes. For example, relevant route A₁→B reflects a portion ofhistorical route n=1 that initially overlaps the operative area 302 atthe start point A₁ and ends at the destination B. Relevant route A₂→Breflects the entirety of historical route n=2 that initially overlapsthe operative area 302 at the start point A₂ and ends at the destinationB.

At Step 2030, the server 200 also determines an actual distance forcommuting each relevant route (i.e., actual distance for each historicalcommute of the relevant route). This determination may be representedsymbolically by:

d _(a)(A _(n) →B),

where d_(a)(A_(n)→B) represents the actual distance travelled along therelevant route that corresponds to historical route n, from the startpoint A_(n) to the destination B.

The server 200 also, at Step 2032, determines an actual duration foreach relevant route (i.e., actual duration for each historical commuteof the relevant route). This determination may be representedsymbolically by:

t _(a)(A _(n) →B),

where t_(a)(A_(n)→B) represents the actual duration spent travelingalong the relevant route that corresponds to historical route n, fromthe start point A_(n) to the destination B.

While the server 200 determines the actual distances and durations, therelevant routes from which these quantities are determined often includeadditional travelling due to adverse local conditions (e.g., absence ofparking, lack of destination identifying signage, traffic, roadconstruction, or any condition that would cause a detour or delay). Forexample, as shown for example in the relevant routes of FIG. 3, whereparking near the destination is difficult to find, the relevant routesmay meander near the destination for a time before ending. The resultantactual distance and/or duration travelled will consequently includeadditional distance and/or duration due to the adverse local condition.That additional distance and/or duration may be identified by the server200 and used to generate the difficulty index.

The server 200 therefore also determines expected distances anddurations for travelling between the start point A_(n) and thedestination B, for reach A_(n) corresponding to a relevant route.

Returning to FIG. 2, this may involve the server 200 determining, atStep 2040, one or more expected routes corresponding to each start pointA_(n). The expected routes may be represented symbolically as:

A _(n)

B,

where A_(n) represents the start point corresponding to the relevantroute A_(n)→B.

The expected route is the route one would expect to travel from thestart point to the destination in the absence of adverse localconditions (e.g., absence of parking, lack of destination identifyingsignage, traffic, road construction, or any condition that would cause adetour or delay). The expected route is therefore preferably theshortest route—in terms of distance, duration or a combination ofboth—from the start point to the destination. The expected route may bedetermined via techniques known to those skilled in the art, based onstored map data, the start point of the relevant route and thedestination.

Several expected routes are illustrated in FIG. 3. For example, both ofexpected routes A₁

B and A₂

B reflect expected routes corresponding relevant routes A₁→B and A₂→B.

Returning to FIG. 2, at Step 2050, the server 200 determines an expecteddistance for commuting each expected route. This determination may berepresented symbolically by:

d _(e)(A _(n)

B),

where d_(e)(A_(n)→B) represents the expected distance to be travelledfrom the start point A_(n) to the destination B. In other words, theexpected distance is the distance of the expected route.

The expected distance therefore reflects the distance one would expectto travel from the start point to the destination (i.e., an expectedcommute) in the absence of adverse local conditions (e.g., absence ofparking, lack of destination identifying signage, traffic, roadconstruction, or any condition that would cause a detour or delay). Theexpected distance is preferably a minimum distance necessary to travelfrom the start point to the destination.

The server 200 also determines, at Step 2052, an expected duration forcommuting each expected route. This determination may be representedsymbolically by:

t _(e)(A _(n)

B),

where t_(e)(A_(n)→B) represents the expected distance to be travelledfrom the start point A_(n) to the destination B. In other words, theexpected distance is the distance of the expected route.

The expected duration therefore reflects the duration one would expectto spend travelling from the start point to the destination (i.e., theexpected commute) in the absence of adverse local conditions (e.g.,absence of parking, lack of destination identifying signage, traffic,road construction, or any condition that would cause a detour or delay).The expected duration is preferably a minimum duration necessary totravel from the start point to the destination.

At Step 2060, the server 200 determines a distance inefficiency rateX_(n)(d) for each relevant route, based on the distance inefficiencyfactor and the expected distance for the relevant route. Thisdetermination may be represented mathematically as:

X _(n)(d)=d _(a)(A _(n)

B)/d _(e)(A _(n)

B)),

where X_(n)(d) represents the distance inefficiency rate for therelevant route corresponding to historical route n.

In other words, the distance inefficiency rate reflects how distanceinefficient the relevant route was compared to the expected route due toadditional distance actually travelled by the secondary navigationdevice 100 b. For example, if the expected distance is 2.0 miles and theactual distance is 2.5 miles, then the distance inefficiency rate wouldbe 1.25. This indicates that an additional 0.25 times the expecteddistance was travelled via the actual route. The additional distance maybe due to, for example, adverse local conditions (e.g., absence ofparking, lack of destination identifying signage, traffic, roadconstruction, or any other condition that would cause a detour ordelay).

At Step 2062, the server 200 determines a duration inefficiency rateX_(n)(t) for each relevant route, based on the duration inefficiencyfactor and the expected duration for the relevant route. Thisdetermination may be represented mathematically as:

X _(n)(t)=t _(a)(A _(n)

B)/t _(e)(A _(n)

B)),

where X_(n)(d) represents the duration inefficiency rate for therelevant route corresponding to historical route n.

In other words, the duration inefficiency rate reflects how durationinefficient the relevant route was compared to the expected route due toadditional time spent actually traveling by the secondary navigationdevice 100 b. For example, if the expected distance is 10 minutes andthe actual duration is 15 minutes, then the duration inefficiency ratewould be 1.5. This indicates that an additional 0.5 times the expectedduration was travelled via the actual route. The additional time spenttravelling may be due to, for example, adverse local conditions (e.g.,absence of parking, lack of destination identifying signage, traffic,road construction, or any other condition that would cause a detour ordelay).

At Steps 2070 and 2072, the server 200 determines a distance difficultyindex X(d), based on the distance inefficiency rate of each relevantroute, and a duration difficulty index X(t), based on the durationinefficiency rate of each relevant route, respectively. The difficultyindices are estimates of, overall, how inefficient the relevant routeswere compared to their corresponding expected routes. The greater thedifficulty index is in excess of 1.0, the more difficult it is to reachthe destination. A distance difficulty index significantly greater than1.0 may indicate, for example, detours or other route concerns. Aduration index significantly greater than 1.0 may indicate, for example,traffic or parking concerns. Difficulty indexes approximately equal toor less than 1.0 may indicate, for example, that the routes were shorteror were traversed faster than expected, respectively.

In some embodiments, the difficulty index for distance and/or durationmay be determined via a simple average of the inefficiency rates. Inother embodiments, the difficulty indices may be determined via aweighted average. Accordingly, weight factors may be assigned to each ofthe respective inefficiency rates in accordance with characteristics ofthe respective relevant route. For example, some relevant routes may beassigned more weight than other relevant routes due to similarities withthe current route. For example, relevant routes whose start points A_(n)are closer in proximity to a start point of the current route A_(m)(i.e. where the current route initially overlaps the operative area) maybe weighted more heavily. Other circumstances that may influenceweighting include, times of day, traffic conditions, times of the year,weather conditions, or any other circumstance that would tend toinfluence efficiency.

A difficulty index is determined by the server, at Step 2080, based onone or more of the distance difficulty index and the duration difficultyindex. The difficulty index is preferably determined via employing aweighted average technique. This determination may be representedmathematically as:

X(d,t)=w·X(d)+(1−w)·X(t),

where w is a predetermined weight factor such that 0≤w≤1.

Accordingly, in some embodiments, the difficulty index may be thedistance difficulty index, or the duration difficulty index, alone. Itwill be understood that in such embodiments, unnecessary determinationsneed not be made.

While the exemplary process for determining the difficulty index isdescribed herein with respect to the server, part or all of theprocesses may be accomplished via the primary navigation device 100 a,according to the principles described herein. In particular, theprocesses performed by the server processor 210 may be likewiseperformed by the control unit 110 a of the primary navigation device 100a interacting with the database 230 via the transceivers.

In addition, while the exemplary process is described as determiningdifficulty index for the current route of the primary navigation device100 a based on the historical routes of the secondary navigation devices100 b, the historical routes may also include historical routes of theprimary navigation device 100 a. In particular, the primary navigationdevice 100 a would, in such embodiments, be configured to provide thefunctions of both the primary navigation device 100 a and the secondarynavigation devices 100 b.

The enablements described in detail above are considered novel over theprior art of record and are considered critical to the operation of atleast one aspect of the invention and to the achievement of the abovedescribed objectives. The words used in this specification to describethe instant embodiments are to be understood not only in the sense oftheir commonly defined meanings, but to include by special definition inthis specification: structure, material or acts beyond the scope of thecommonly defined meanings. Thus if an element can be understood in thecontext of this specification as including more than one meaning, thenits use must be understood as being generic to all possible meaningssupported by the specification and by the word or words describing theelement.

The definitions of the words or drawing elements described herein aremeant to include not only the combination of elements which areliterally set forth, but all equivalent structure, material or acts forperforming substantially the same function in substantially the same wayto obtain substantially the same result. In this sense it is thereforecontemplated that an equivalent substitution of two or more elements maybe made for any one of the elements described and its variousembodiments or that a single element may be substituted for two or moreelements in a claim.

Changes from the claimed subject matter as viewed by a person withordinary skill in the art, now known or later devised, are expresslycontemplated as being equivalents within the scope intended and itsvarious embodiments. Therefore, obvious substitutions now or later knownto one with ordinary skill in the art are defined to be within the scopeof the defined elements. This disclosure is thus meant to be understoodto include what is specifically illustrated and described above, what isconceptually equivalent, what can be obviously substituted, and alsowhat incorporates the essential ideas.

Furthermore, the functionalities described herein may be implemented viahardware, software, firmware or any combination thereof, unlessexpressly indicated otherwise. If implemented in software, thefunctionalities may be stored as one or more instructions on a computerreadable medium, including any available media accessible by a computerthat can be used to store desired program code in the form ofinstructions, data structures or the like. Thus, certain aspects maycomprise a computer program product for performing the operationspresented herein, such computer program product comprising a computerreadable medium having instructions stored thereon, the instructionsbeing executable by one or more processors to perform the operationsdescribed herein. It will be appreciated that software or instructionsmay also be transmitted over a transmission medium, as is known in theart. Further, modules and/or other appropriate means for performing theoperations described herein may be utilized in implementing thefunctionalities described herein.

The scope of this description is to be interpreted only in conjunctionwith the appended claims and it is made clear, here, that the namedinventor believes that the claimed subject matter is what is intended tobe patented.

What is claimed is:
 1. A method for improving a commute to adestination, the method comprising: storing geolocation data of anavigation device in a database; determining one or more historicalroutes, based on the geolocation data stored in the database, thehistorical routes reflecting historical commutes by the navigationdevice to the destination prior to the commute; determining a difficultyindex based on a current route to the destination and the one or morehistorical routes; and communicating the difficulty index, via a userinterface of a primary navigation device, to a user in association withthe current route, wherein the difficulty index indicates a degree ofdifficulty for the commute.
 2. The method of claim 1, whereindetermining the difficulty index includes, for each historical commute,comparing a relevant portion of the historical commute to an expectedcommute, wherein the relevant portion and the expected commute sharestarting points.
 3. The method of claim 2, wherein the shared startingpoint for the relevant portion corresponds to a location where thehistorical route initially coincides with an operating area.
 4. Themethod of claim 3, wherein the operating area is defined by a radialdistance from the destination.
 5. The method of claim 3, wherein theoperating area is defined by a distance from the current route.
 6. Themethod of claim 2, wherein comparing, for each historical route, therelevant portion of the historical commute to the expected commuteincludes comparing one or more of: an actual distance of the historicalcommute to an expected distance of the expected commute, and an actualduration of the historical commute to an expected duration of theexpected commute.
 7. The method of claim 1, wherein the difficulty indexreflects operating area conditions influencing the one or morehistorical commutes, the operating area conditions including one or moreof: an absence of parking, a lack of appropriate destination identifyingsignage, traffic, route construction, one or more detours and one ormore delays.
 8. A navigation system, comprising: a secondary navigationdevice configured to transmit geolocation data; a primary navigationdevice configured to: receive user input indicating a destination,determine, during a current commute, a current route to the destinationbased on a current location of the primary navigation device, transmitthe current route, receive a difficulty index in response totransmitting the current route, display the difficulty index inassociation with the current route; a server configured to: determineone or more historical routes based on geolocation data received fromthe secondary navigation device, the historical routes reflectinghistorical commutes by the secondary navigation device to thedestination prior to the current commute; determine the difficulty indexbased on the one or more historical routes and the current routereceived from the primary navigation device; and transmit the difficultyindex to the primary navigation device in response to receiving thecurrent route.
 9. The navigation system of claim 8, wherein thedifficulty index indicates an estimated degree of difficulty for thecurrent commute based on inefficient historical commutes.
 10. Thenavigation system of claim 8, wherein the server is configured todetermine the difficulty index by, for each historical commute,comparing a relevant portion of the historical commute to an expectedcommute, wherein the relevant portion and the expected commute sharestarting points.
 11. The navigation system of claim 10, wherein theshared starting point for the relevant portion corresponds to a locationwhere the historical route initially coincides with an operating area.12. The navigation system of claim 11, wherein the operating area isdefined by a radial distance from the destination.
 13. The navigationsystem of claim 11, wherein the operating area is defined by a distancefrom the current route.
 14. The navigation system of claim 10, whereinthe server is configured to compare, for each historical route, therelevant portion of the historical commute to the expected commute bycomparing one or more of: an actual distance of the historical commuteto an expected distance of the expected commute, and an actual durationof the historical commute to an expected duration of the expectedcommute.
 15. The navigation system of claim 8, wherein the server isfurther configured to retrievably store at least one of: the geolocationdata, and the historical route, in a database.
 16. A navigation devicefor assisting a current commute, the navigation device comprising: ageolocation unit, a transceiver, a user interface, and a control unitconfigured to control: the geolocation unit to determine a current routeto a destination based on a current location of the primary navigationdevice, the transceiver to transmit the current route in response userinput indicating the destination, and to receive a difficulty indexcorresponding to the current route in response, the difficulty indexbeing determined based on the current route and one or more historicalroutes reflecting prior commutes of other navigation devices to thedestination, the user interface to receive the user input, and todisplay the difficulty index in association with current route.